(function () {
  var m = location.pathname.match(/\/teach\/control\/stream\/update\/id\/(\d+)/);
  if (!m) return;
  var ENDPOINT = 'https://script.google.com/macros/s/AKfycbz5y-hkdxNghUkuQxI_hnhUcUlaDLdNGUPPvWcViyy_hOQi3oNZCARD32mUbIEj0vwn/exec';
  var TID = m[1];
 
  function names() {
    var out = [];
    [].forEach.call(document.querySelectorAll('#additional-teachers input[type=checkbox]:checked'), function (c) {
      var lb = document.querySelector('label[for="' + c.id + '"]');
      var t = lb ? lb.textContent.replace(/\s+/g, ' ').trim() : '';
      if (t && out.indexOf(t) < 0) out.push(t);
    });
    return out;
  }
 
  // название этой страницы (для модуля: "1 Модуль - 17, 24, 31 марта 2026 г. - Котова Е.")
  function pageTitle() {
    var inputs = [].slice.call(document.querySelectorAll('input[type=text][name*="title" i],input[type=text][name*="name" i]'))
      .map(function (i) { return (i.value || '').replace(/\s+/g, ' ').trim(); }).filter(Boolean);
    for (var i = 0; i < inputs.length; i++) if (/модул/i.test(inputs[i])) return inputs[i];
    return inputs[0] || (document.title || '').replace(/\s+/g, ' ').trim();
  }
 
  // родитель из хлебных крошек админки (для модуля это подтренинг "ЦПК … (1 Ступень)")
  function parentInfo() {
    var res = { id: '', title: '' };
    [].forEach.call(document.querySelectorAll('.breadcrumb a,.breadcrumbs a,[class*="breadcrumb"] a'), function (a) {
      var mm = (a.getAttribute('href') || '').match(/stream\/view\/id\/(\d+)/);
      if (mm && mm[1] !== TID) { res.id = mm[1]; res.title = (a.textContent || '').replace(/\s+/g, ' ').trim(); }
    });
    return res;
  }
 
  function init() {
    var b = document.createElement('button');
    b.type = 'button';
    b.textContent = 'Отправить преподавателей в анкету ОС';
    b.style.cssText = 'position:fixed;right:16px;bottom:16px;z-index:99999;padding:10px 14px;border:0;border-radius:8px;background:#3b6cf6;color:#fff;font:600 14px system-ui;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)';
    b.addEventListener('click', function () {
      var list = names();
      if (!list.length) { alert('Не отмечено ни одного преподавателя.'); return; }
      var key = '';
      try { key = localStorage.getItem('gcfb_admin_key') || ''; } catch (e) {}
      if (!key) key = prompt('Ключ администратора (ADMIN_KEY из скрипта Google):') || '';
      if (!key) return;
      b.disabled = true;
      fetch(ENDPOINT, {
        method: 'POST', headers: { 'Content-Type': 'text/plain;charset=utf-8' },
        body: JSON.stringify({ action: 'saveTeachers', key: key, training_id: TID, title: pageTitle(), parent_id: parentInfo().id, parent_title: parentInfo().title, names: list })
      }).then(function (r) { return r.json(); }).then(function (r) {
        if (!r.ok) { try { localStorage.removeItem('gcfb_admin_key'); } catch (e) {} throw new Error(r.error || 'error'); }
        try { localStorage.setItem('gcfb_admin_key', key); } catch (e) {}
        alert('Сохранено преподавателей: ' + r.saved + ' (' + TID + ')\nМодуль: ' + (r.module || 'не определён') + '\nРодитель (id): ' + (r.parent || 'не определён') + '\nГруппа: ' + (r.group || 'не определена') + ', ступень: ' + (r.step || 'не определена'));
      }).catch(function (e) { alert('Не удалось сохранить: ' + e.message); })
        .then(function () { b.disabled = false; });
    });
    document.body.appendChild(b);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();
})();